In computer applications in which program components or objects are utilized, connections for the program components are often required. The program components may include enterprise JavaBeans (EJBs) that exist in a Java 2 Platform, Enterprise Edition (J2EE) environment or in a standalone operation in the Java 2 Platform, Standard Edition (J2SE). The persistence of such components is governed by the standards for an EJB, including the Enterprise JavaBean Specification 3.0 (referred to herein as the EJB 3.0 Specification). In this example, whenever a component of the core persistence engine needs to access the underlying database, it requires a connection, such as a JDBC (Java database connectivity) connection for an EJB.
However, the type of environment and other factors will influence how connections are obtained and the connections that are received. For example how JDBC connections are obtained and managed is different in a J2EE enterprise environment and in a J2SE standalone environment. For this reason, in conventional operations the processes for connections may vary depending on the environment encountered, thereby making the task of the developer of a system more difficult because a separate process may be required for each possible environment.